]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
authPrompt: cancel user verification if verifying when reset
authorRay Strode <rstrode@redhat.com>
Mon, 29 Jul 2013 12:46:37 +0000 (08:46 -0400)
committerRay Strode <rstrode@redhat.com>
Mon, 19 Aug 2013 01:14:35 +0000 (21:14 -0400)
authPrompt.reset() currently only leaves the authPrompt in a
sane state if the user isn't verifying.

This commit makes sure to cancel verification if a reset happens
while verification is in process.

https://bugzilla.gnome.org/show_bug.cgi?id=683437

js/gdm/authPrompt.js

index b84e949ebdf8b9d22d2dcab8e74938506a3b8aad..253582e66b45459ab711120fdf28e30708adefc1 100644 (file)
@@ -233,8 +233,10 @@ const AuthPrompt = new Lang.Class({
     },
 
     _onReset: function() {
-        if (this.verificationStatus != AuthPromptStatus.VERIFICATION_SUCCEEDED)
+        if (this.verificationStatus != AuthPromptStatus.VERIFICATION_SUCCEEDED) {
+            this.verificationStatus = AuthPromptStatus.NOT_VERIFYING;
             this.reset();
+        }
     },
 
     _onShowLoginHint: function(verifier, message) {
@@ -413,7 +415,12 @@ const AuthPrompt = new Lang.Class({
     },
 
     reset: function() {
+        let oldStatus = this.verificationStatus;
         this.verificationStatus = AuthPromptStatus.NOT_VERIFYING;
+
+        if (oldStatus == AuthPromptStatus.VERIFYING)
+            this._userVerifier.cancel();
+
         this._queryingService = null;
         this.clear();
         this._message.opacity = 0;
@@ -460,9 +467,6 @@ const AuthPrompt = new Lang.Class({
     },
 
     cancel: function() {
-        if (this.verificationStatus == AuthPromptStatus.VERIFYING)
-            this._userVerifier.cancel();
-
         this.reset();
     }
 });